decode{
    int numArgs=bytes.length;
    for (int i=arguments; i < numArgs; i++) {
        long l=readLong(in);
        if (l > Integer.MAX_VALUE) {
        int size=(int)l;
        bytes[i]=new byte[size];
        in.readBytes(bytes[i]);
        if (in.bytesBefore(ByteBufIndexFinder.CRLF) != 0) {
        in.skipBytes(2);
        checkpoint();
      return new Command(bytes);
      bytes=null;
      arguments=0;
    long l=readLong(in);
    if (l > Integer.MAX_VALUE) {
    int numArgs=(int)l;
    if (numArgs < 0) {
    bytes=new byte[numArgs][];
    checkpoint();
    byte[][] b=new byte[1][];
    b[0]=in.readBytes(in.bytesBefore(ByteBufIndexFinder.CRLF)).array();
    in.skipBytes(2);
    return new Command(b,true);
}
